package cs3343.project.family;

import javax.swing.ImageIcon;
import javax.swing.JLabel;

public class MapController {
	static int size;
	
	public MapController(int charNum){

		if(charNum <= 2){
			size = 6;
			InitGame.gameFrame.setSize(800, 700);
		}
		else if(charNum >2 && charNum <= 4){
			size = 8;
			InitGame.gameFrame.setSize(1000, 700);
		}
		else{
			size = 10;
			InitGame.gameFrame.setSize(1200, 700);
		}
		
		//size = 10;
		//InitGame.gameFrame.setSize(1200, 700);
		
	    //create land
	    JLabel [] mapImg = new JLabel[40];
	    
	    for(int i = 0; i < 40; i++) {
	    	InitGame.map[i] = new MapArea(i, new ImageIcon(ConfigManager.IMAGE_PATH + "land.jpg"), 0, 0);
	    	mapImg[i] = new JLabel(InitGame.map[i].getImage());
	    }
	    
		
		//draw map
	    int x = 0; 
	    int y = 0;
	    int k = 0;
	    
	    //--->
	    for (int i = 0; i < size; i++) {
	    	int imgW = InitGame.map[k].getImage().getIconWidth();
	    	int imgH = InitGame.map[k].getImage().getIconHeight();
	    	
	    	mapImg[k].setBounds(i * imgW, y, imgW, imgH);
	    	InitGame.map[k].setX(i * imgW);
	    	InitGame.map[k].setY(y);
	    	InitGame.gamePanel.add(mapImg[k]);
			
			k++;
			x = i * imgW;
	    }
	    //|
	    //|
	    //V
	    for (int i = 0; i < 5; i++) {
	    	int imgW = InitGame.map[k].getImage().getIconWidth();
	    	int imgH = InitGame.map[k].getImage().getIconHeight();
	    	
	    	mapImg[k].setBounds(x, imgH + i * imgH, imgW, imgH);
	    	InitGame.map[k].setX(x);
	    	InitGame.map[k].setY(imgH + i * imgH);
	    	InitGame.gamePanel.add(mapImg[k]);
			
			k++;
			y = imgH + i * imgH;
	    }
	    
	    //<---
	    for(int i = 0; i < size-1; i++){
	    	int imgW = InitGame.map[k].getImage().getIconWidth();
	    	int imgH = InitGame.map[k].getImage().getIconHeight();
	    	
	    	mapImg[k].setBounds(x - imgW * i - imgW, y, imgW, imgH);
	    	InitGame.map[k].setX(x - imgW * i - imgW);
	    	InitGame.map[k].setY(y);
	    	InitGame.gamePanel.add(mapImg[k]);
			
			k++;
	    }
	    
	    //^
	    //|
	    for(int i = 0; i < 5; i++){
	    	int imgW = InitGame.map[k].getImage().getIconWidth();
	    	int imgH = InitGame.map[k].getImage().getIconHeight();
	    	
	    	mapImg[k].setBounds(0, y - imgH * i - imgH, imgW, imgH);
	    	InitGame.map[k].setX(0);
	    	InitGame.map[k].setY(y - imgH * i - imgH);
	    	InitGame.gamePanel.add(mapImg[k]);
			
			k++;
	    }
	}

}
